1
Bài học 7: Học truyền tải – Tận dụng Kiến thức
EvoClass-AI002Bài giảng 7
00:00

Chào mừng bạn đến với Bài học 7, nơi chúng tôi giới thiệu Học truyền tải. Kỹ thuật này bao gồm việc tái sử dụng một mô hình học sâu đã được huấn luyện trên một tập dữ liệu khổng lồ và tổng quát (như ImageNet) và điều chỉnh nó để giải quyết một nhiệm vụ mới, cụ thể hơn (ví dụ như thách thức FoodVision của chúng ta). Đây là yếu tố then chốt để đạt được kết quả tiên tiến nhất một cách hiệu quả, đặc biệt khi các tập dữ liệu có nhãn bị giới hạn.

1. Sức mạnh của trọng số đã được huấn luyện trước

Các mạng nơ-ron sâu học các đặc trưng theo thứ bậc. Các lớp thấp học các khái niệm cơ bản (cạnh, góc, họa tiết), trong khi các lớp sâu hơn kết hợp chúng thành các khái niệm phức tạp hơn (đôi mắt, bánh xe, các đối tượng cụ thể). Điểm mấu chốt là các đặc trưng cơ bản được học từ sớm là phổ biến và áp dụng được rộng rãitrên hầu hết các lĩnh vực thị giác.

Các thành phần của Học truyền tải

  • Nhiệm vụ nguồn: Huấn luyện trên 14 triệu ảnh và 1000 danh mục (ví dụ: ImageNet).
  • Nhiệm vụ đích: Điều chỉnh trọng số để phân loại một tập dữ liệu nhỏ hơn nhiều (ví dụ: các lớp thực phẩm cụ thể của chúng ta trong FoodVision).
  • Thành phần tận dụng: Hầu hết các tham số của mạng lưới—các lớp trích xuất đặc trưng—được tái sử dụng trực tiếp.
Lợi ích về Hiệu suất
Học truyền tải làm giảm đáng kể hai rào cản tài nguyên lớn: Chi phí tính toán (bạn tránh được việc huấn luyện toàn bộ mô hình trong vài ngày) và Yêu cầu dữ liệu (có thể đạt độ chính xác cao chỉ với hàng trăm, chứ không phải hàng nghìn ví dụ huấn luyện).
train.py
THƯỜNG ĐÀNbash — pytorch-env
> Đã sẵn sàng. Nhấp vào "Chạy" để thực thi.
>
KIỂM TRA TEN-SƠTrực tiếp

Chạy mã để kiểm tra các ten-sơ đang hoạt động
Câu hỏi 1
Điểm lợi thế chính khi sử dụng một mô hình đã được huấn luyện trước trên ImageNet cho một nhiệm vụ thị giác mới là gì?
Nó yêu cầu ít dữ liệu được gán nhãn hơn so với việc huấn luyện từ đầu.
Nó hoàn toàn loại bỏ nhu cầu về bất kỳ dữ liệu huấn luyện nào.
Nó đảm bảo độ chính xác 100% ngay lập tức.
Câu hỏi 2
Trong quy trình học truyền tải, phần nào của mạng nơ-ron thường bị đóng băng?
Lớp đầu ra cuối cùng (đầu phân loại).
Cơ sở tích chập (các lớp trích xuất đặc trưng).
Toàn bộ mạng lưới thường không bị đóng băng.
Câu hỏi 3
Khi thay thế đầu phân loại trong PyTorch, tham số nào bạn phải xác định trước từ cơ sở đã đóng băng?
Kích thước lô (batch size) của dữ liệu đích.
Kích thước đặc trưng đầu vào (kích thước đầu ra của lớp tích chập cuối cùng).
Tổng số tham số của mô hình.
Thách thức: Điều chỉnh đầu phân loại
Thiết kế một bộ phân loại mới cho FoodVision.
Bạn tải một mô hình ResNet đã được huấn luyện trước trên ImageNet. Lớp đặc trưng cuối cùng của nó tạo ra một vectơ kích thước 512. Dự án 'FoodVision' của bạn có 7 lớp thực phẩm khác nhau.
Bước 1
Kích thước đặc trưng đầu vào cần thiết cho lớp tuyến tính mới, có thể huấn luyện là gì?
Lời giải:
Kích thước đặc trưng đầu vào phải khớp với đầu ra của lớp cơ sở đã đóng băng.
Kích thước: 512.
Bước 2
Câu lệnh đoạn mã PyTorch để tạo lớp phân loại mới này là gì (giả sử đầu ra được đặt tên là `new_layer`)?
Lời giải:
Kích thước đầu ra 512 là đầu vào, và số lượng lớp 7 là đầu ra.
Mã: new_layer = torch.nn.Linear(512, 7)
Bước 3
Kích thước đặc trưng đầu ra cần thiết cho lớp tuyến tính mới là gì?
Lời giải:
Kích thước đặc trưng đầu ra phải khớp với số lượng lớp đích.
Kích thước: 7.